﻿<UserControl x:Class="GTServices.WPF.Client.Views.Entities.PatternView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
              xmlns:cal="clr-namespace:Caliburn.Micro;assembly=Caliburn.Micro"
             xmlns:controls="clr-namespace:GTServices.WPF.Client.Controls"
             mc:Ignorable="d" 
             d:DesignHeight="300" d:DesignWidth="300">
    <DockPanel>
        <StackPanel DockPanel.Dock="Top">
            <UniformGrid Columns="1" Rows="1" IsEnabled="False">
                <GroupBox Header="Id">
                    <TextBox Text="{Binding Pattern.Id}" HorizontalContentAlignment="Right"/>
                </GroupBox>
            </UniformGrid>
        </StackPanel>
        <DockPanel DockPanel.Dock="Bottom">
            <StackPanel DockPanel.Dock="Top">
                <GroupBox Header="Pattern">
                    <TextBox Text="{Binding Pattern.PatternStr, UpdateSourceTrigger=PropertyChanged}" HorizontalContentAlignment="Left"/>
                </GroupBox>
                <GroupBox Header="Language">
                    <DockPanel>
                        <controls:ClickableLabel Text="Select"    cal:Message.Attach="[Event Click] = [Action SelectLanguage()]" DockPanel.Dock="Right"   />
                        <TextBox IsReadOnly="True" Text="{Binding Language.Name}" DockPanel.Dock="Left"/>
                    </DockPanel>
                </GroupBox>
                <GroupBox Header="Refernce Url">
                    <TextBox Text="{Binding ReferenceUrl, UpdateSourceTrigger=PropertyChanged}"/>
                </GroupBox>
            </StackPanel>
            <TabControl DockPanel.Dock="Bottom">
                <TabControl.Resources>
                    <!-- Default Control template slightly modified -->
                    <Style x:Key="TabItemFocusVisual">
                        <Setter Property="Control.Template">
                            <Setter.Value>
                                <ControlTemplate>
                                    <Rectangle Margin="3,3,3,1"
                               StrokeThickness="1"
                               Stroke="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"
                               StrokeDashArray="1 2"
                               SnapsToDevicePixels="true"/>
                                </ControlTemplate>
                            </Setter.Value>
                        </Setter>
                    </Style>




                    <LinearGradientBrush x:Key="TabItemHotBackground"
                         StartPoint="0,0"
                         EndPoint="0,1">
                        <LinearGradientBrush.GradientStops>
                            <GradientStop Color="#EAF6FD"
                          Offset="0.15"/>
                            <GradientStop Color="#D9F0FC"
                          Offset=".5"/>
                            <GradientStop Color="#BEE6FD"
                          Offset=".5"/>
                            <GradientStop Color="#A7D9F5"
                          Offset="1"/>
                        </LinearGradientBrush.GradientStops>
                    </LinearGradientBrush>
                    <SolidColorBrush x:Key="TabItemSelectedBackground"
                     Color="#F9F9F9"/>
                    <SolidColorBrush x:Key="TabItemDisabledBackground"
                     Color="#F4F4F4"/>
                    <SolidColorBrush x:Key="TabItemHotBorderBrush"
                     Color="#3C7FB1"/>
                    <SolidColorBrush x:Key="TabItemDisabledBorderBrush"
                     Color="#FFC9C7BA"/>
                    <Style TargetType="{x:Type TabItem}">
                        <Setter Property="Padding" Value="4" />

                        <Setter Property="Template">
                            <Setter.Value>
                                <ControlTemplate TargetType="{x:Type TabItem}">
                                    <Grid SnapsToDevicePixels="true">
                                        <Border Name="Bd"
                                            Padding="{TemplateBinding Padding}"
                                            BorderBrush="{TemplateBinding BorderBrush}"
                                            Background="{TemplateBinding Background}"
                                            BorderThickness="1,1,1,0"
                                            CornerRadius="6,6,0,0"
                                            >
                                            <ContentPresenter Name="Content"
                                              ContentSource="Header"
                                              SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
                                              HorizontalAlignment="{Binding Path=HorizontalContentAlignment,RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"
                                              VerticalAlignment="{Binding Path=VerticalContentAlignment,RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"
                                              RecognizesAccessKey="True"/>
                                        </Border>
                                    </Grid>
                                    <ControlTemplate.Triggers>
                                        <Trigger Property="IsMouseOver"
                                 Value="true">
                                            <Setter TargetName="Bd"
                                    Property="Background"
                                    Value="{StaticResource TabItemHotBackground}"/>
                                        </Trigger>
                                        <Trigger Property="IsSelected"
                                 Value="true">
                                            <Setter Property="Panel.ZIndex"
                                    Value="1"/>
                                            <Setter TargetName="Bd"
                                    Property="Background"
                                    Value="{StaticResource TabItemSelectedBackground}"/>
                                        </Trigger>
                                        <MultiTrigger>
                                            <MultiTrigger.Conditions>
                                                <Condition Property="IsSelected"
                                           Value="false"/>
                                                <Condition Property="IsMouseOver"
                                           Value="true"/>
                                            </MultiTrigger.Conditions>
                                            <Setter TargetName="Bd"
                                    Property="BorderBrush"
                                    Value="{StaticResource TabItemHotBorderBrush}"/>
                                        </MultiTrigger>
                                        <Trigger Property="TabStripPlacement"
                                 Value="Bottom">
                                            <Setter TargetName="Bd"
                                    Property="BorderThickness"
                                    Value="1,0,1,1"/>
                                        </Trigger>
                                        <Trigger Property="TabStripPlacement"
                                 Value="Left">
                                            <Setter TargetName="Bd"
                                    Property="BorderThickness"
                                    Value="1,1,0,1"/>
                                        </Trigger>
                                        <Trigger Property="TabStripPlacement"
                                 Value="Right">
                                            <Setter TargetName="Bd"
                                    Property="BorderThickness"
                                    Value="0,1,1,1"/>
                                        </Trigger>
                                        <MultiTrigger>
                                            <MultiTrigger.Conditions>
                                                <Condition Property="IsSelected"
                                           Value="true"/>
                                                <Condition Property="TabStripPlacement"
                                           Value="Top"/>
                                            </MultiTrigger.Conditions>
                                            <Setter Property="Margin"
                                    Value="-2,-2,-2,-1"/>
                                            <Setter TargetName="Content"
                                    Property="Margin"
                                    Value="0,0,0,1"/>
                                        </MultiTrigger>
                                        <MultiTrigger>
                                            <MultiTrigger.Conditions>
                                                <Condition Property="IsSelected"
                                           Value="true"/>
                                                <Condition Property="TabStripPlacement"
                                           Value="Bottom"/>
                                            </MultiTrigger.Conditions>
                                            <Setter Property="Margin"
                                    Value="-2,-1,-2,-2"/>
                                            <Setter TargetName="Content"
                                    Property="Margin"
                                    Value="0,1,0,0"/>
                                        </MultiTrigger>
                                        <MultiTrigger>
                                            <MultiTrigger.Conditions>
                                                <Condition Property="IsSelected"
                                           Value="true"/>
                                                <Condition Property="TabStripPlacement"
                                           Value="Left"/>
                                            </MultiTrigger.Conditions>
                                            <Setter Property="Margin"
                                    Value="-2,-2,-1,-2"/>
                                            <Setter TargetName="Content"
                                    Property="Margin"
                                    Value="0,0,1,0"/>
                                        </MultiTrigger>
                                        <MultiTrigger>
                                            <MultiTrigger.Conditions>
                                                <Condition Property="IsSelected"
                                           Value="true"/>
                                                <Condition Property="TabStripPlacement"
                                           Value="Right"/>
                                            </MultiTrigger.Conditions>
                                            <Setter Property="Margin"
                                    Value="-1,-2,-2,-2"/>
                                            <Setter TargetName="Content"
                                    Property="Margin"
                                    Value="1,0,0,0"/>
                                        </MultiTrigger>
                                        <Trigger Property="IsEnabled"
                                 Value="false">
                                            <Setter TargetName="Bd"
                                    Property="Background"
                                    Value="{StaticResource TabItemDisabledBackground}"/>
                                            <Setter TargetName="Bd"
                                    Property="BorderBrush"
                                    Value="{StaticResource TabItemDisabledBorderBrush}"/>
                                            <Setter Property="Foreground"
                                    Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
                                        </Trigger>
                                    </ControlTemplate.Triggers>
                                </ControlTemplate>
                            </Setter.Value>
                        </Setter>
                    </Style>
                </TabControl.Resources>
                <TabItem Header="Pattern Info">
                    <TextBox  TextWrapping="Wrap" AcceptsReturn="True" Text="{Binding PatternInfo, UpdateSourceTrigger=PropertyChanged}">
                    </TextBox>
                </TabItem>
                <TabItem Header="Recommendation">
                    <TextBox  TextWrapping="Wrap" AcceptsReturn="True" Text="{Binding Recommendation, UpdateSourceTrigger=PropertyChanged}">
                    </TextBox>
                </TabItem>
            </TabControl>
        </DockPanel>
    </DockPanel>
</UserControl>
